package br.com.jk.financeiro.movimento;

import br.com.jk.cliente.Cliente;
import br.com.jk.financeiro.contaBanco.*;
import br.com.jk.financeiro.movimentotipo.MovimentoTipo;
import br.com.jk.fornecedor.Fornecedor;
import br.com.jk.util.DaoFactory;
import br.com.jk.util.pesquisa.Pesquisa.Opcao;
import java.util.List;

/**
 *
 * @author camilo
 */
public class MovimentoRn {

  private MovimentoDao dao;

  public MovimentoRn() {
    this.dao = DaoFactory.criarMovimentoDao();
  }

  public void salvar(Movimento forn) {
    this.dao.salvar(forn);
  }

  public List<Movimento> listar() {
    return this.dao.listar();
  }

  public List<Movimento> listarPorConta(ContaBanco conta) {
    return this.dao.listarPorConta(conta);
  }

  public List<Movimento> listarPorCliente(Cliente conta) {
    return this.dao.listarPorCliente(conta);
  }

  public List<Movimento> listarPorFornecedor(Fornecedor conta) {
    return this.dao.listarPorFornecedor(conta);
  }

  public List<Movimento> listarPorTipo(MovimentoTipo conta) {
    return this.dao.listarPorTipo(conta);
  }

  public List<Movimento> pesquisaPadrao(String property, String criterio, Opcao opcao) {
    return this.dao.pesquisaPadrao(property, criterio, opcao);
  }

  public List<Movimento> pesquisaPadrao(String property, int criterio, Opcao opcao) {
    return this.dao.pesquisaPadrao(property, criterio, opcao);
  }

  public Movimento carregar(int id) {
    return this.dao.carregar(id);
  }

  public void excluir(Movimento forn) {
    this.dao.excluir(forn);
  }
}
